Sequential Benchmark

Row

Result sample size per category, function and type

category func type 1 10 100 1000 10000
few createProduct GraphQL 50 50 50 50 50
few createProduct REST 50 50 50 50 50
few getUsers GraphQL 50 50 50 50 50
few getUsers REST 50 50 50 50 50
few userThatBoughtProduct GraphQL 50 50 50 50 0
few userThatBoughtProduct REST 50 50 50 50 0
lot createProduct GraphQL 50 50 50 50 50
lot createProduct REST 50 50 50 50 50
lot getUsers GraphQL 5 5 5 5 0
lot getUsers REST 5 5 5 5 0
lot userThatBoughtProduct GraphQL 5 5 0 0 0
lot userThatBoughtProduct REST 5 5 0 0 0

Response time for getUsers and createProduct for each sample size

Row

Response time for getUsers and createProduct for each sample size (boxplot)

Load benchmark (autocannon)

Row

success/failure distribution

Response time per concurrent user

Load benchmark (JMeter)

Row

Distribution of success and failure per function

func type success failure success percent (%)
addProduct graphql 372543 3158084 10.55
addProduct rest 380091 4163873 8.36
getUsers graphql 403457 5712903 6.60
getUsers rest 370761 5148928 6.72
productBoughtByUser graphql 140286 12510546 1.11
productBoughtByUser rest 178045 7617850 2.28

Distribution of response time per thread, functions and type

Row

Response time over time

Concurrent benchmark (JMeter)

Row

Distribution of success and failure per function

func type success failure success percent (%)
all graphql 417174 993396 29.57
all rest 322652 698182 31.61

Distribution of response time per thread, functions and type

Row

Response time over time

Distribution of success and failure per function

func type success failure success percent (%)
addProduct graphql 196130 271524 41.94
addProduct rest 143293 193612 42.53
getUsers graphql 204741 265037 43.58
getUsers rest 155965 184681 45.79
productBoughtByUser graphql 16303 456835 3.45
productBoughtByUser rest 23394 319889 6.81

Row

Distribution of response time per thread, functions and type

Response time over time